package php.imagemagick;

@:native('ImagickDraw') extern class ImagickDraw
{
	public function affine(affine:NativeArray) : Bool;
	public function annotation(x:Float, y:Float, text:String) : Bool;
	public function arc(sx:Float, sy:Float, ex:Float, ey:Float, sd:Float, ed:Float) : Bool;
	public function bezier(coordinates:NativeArray) : Bool;
	public function circle(ox:Float, oy:Float, px:Float, py:Float) : Bool;
	public function clear() : Bool;
	public function clone() : ImagickDraw;
	public function color(x:Float, y:Float, paintMethod:Int) : Bool;
	public function comment(comment:String) : Bool;
	public function composite(compose:Int, x:Float, y:Float, width:Float, height:Float, compositeWand:Imagick) : Bool;
	public function new() : Void;
	public function destroy() : Bool;
	public function ellipse(ox:Float, oy:Float, rx:Float, ry:Float, start:Float, end:Float) : Bool;
	public function getClipPath() : String;
	public function getClipRule() : Int;
	public function getClipUnits() : Int;
	public function getFillColor() : ImagickPixel;
	public function getFillOpacity() : Float;
	public function getFillRule() : Int;
	public function getFont() : String;
	public function getFontFamily() : String;
	public function getFontSize() : Float;
	public function getFontStyle() : Int;
	public function getFontWeight() : Int;
	public function getGravity() : Int;
	public function getStrokeAntialias() : Bool;
	public function getStrokeColor() : ImagickPixel;
	public function getStrokeDashArray() : NativeArray;
	public function getStrokeDashOffset() : Float;
	public function getStrokeLineCap() : Int;
	public function getStrokeLineJoin() : Int;
	public function getStrokeMiterLimit() : Int;
	public function getStrokeOpacity() : Float;
	public function getStrokeWidth() : Float;
	public function getTextAlignment() : Int;
	public function getTextAntialias() : Bool;
	public function getTextDecoration() : Int;
	public function getTextEncoding() : String;
	public function getTextUnderColor() : ImagickPixel;
	public function getVectorGraphics() : String;
	public function line(sx:Float, sy:Float, ex:Float, ey:Float) : Bool;
	public function matte(x:Float, y:Float, paintMethod:Int) : Bool;
	public function pathClose() : Bool;
	public function pathCurveToAbsolute(x1:Float, y1:Float, x2:Float, y2:Float, x:Float, y:Float) : Bool;
	public function pathCurveToQuadraticBezierAbsolute(x1:Float, y1:Float, x:Float, y:Float) : Bool;
	public function pathCurveToQuadraticBezierRelative(x1:Float, y1:Float, x:Float, y:Float) : Bool;
	public function pathCurveToQuadraticBezierSmoothAbsolute(x:Float, y:Float) : Bool;
	public function pathCurveToQuadraticBezierSmoothRelative(x:Float, y:Float) : Bool;
	public function pathCurveToRelative(x1:Float, y1:Float, x2:Float, y2:Float, x:Float, y:Float) : Bool;
	public function pathCurveToSmoothAbsolute(x2:Float, y2:Float, x:Float, y:Float) : Bool;
	public function pathCurveToSmoothRelative(x2:Float, y2:Float, x:Float, y:Float) : Bool;
	public function pathEllipticArcAbsolute(rx:Float, ry:Float, x_axis_rotation:Float, large_arc_flag:Bool, sweep_flag:Bool, x:Float, y:Float) : Bool;
	public function pathEllipticArcRelative(rx:Float, ry:Float, x_axis_rotation:Float, large_arc_flag:Bool, sweep_flag:Bool, x:Float, y:Float) : Bool;
	public function pathFinish() : Bool;
	public function pathLineToAbsolute(x:Float, y:Float) : Bool;
	public function pathLineToHorizontalAbsolute(x:Float) : Bool;
	public function pathLineToHorizontalRelative(x:Float) : Bool;
	public function pathLineToRelative(x:Float, y:Float) : Bool;
	public function pathLineToVerticalAbsolute(y:Float) : Bool;
	public function pathLineToVerticalRelative(y:Float) : Bool;
	public function pathMoveToAbsolute(x:Float, y:Float) : Bool;
	public function pathMoveToRelative(x:Float, y:Float) : Bool;
	public function pathStart() : Bool;
	public function point(x:Float, y:Float) : Bool;
	public function polygon(coordinates:NativeArray) : Bool;
	public function polyline(coordinates:NativeArray) : Bool;
	public function pop() : Bool;
	public function popClipPath() : Bool;
	public function popDefs() : Bool;
	public function popPattern() : Bool;
	public function push() : Bool;
	public function pushClipPath(clip_mask_id:String) : Bool;
	public function pushDefs() : Bool;
	public function pushPattern(pattern_id:String, x:Float, y:Float, width:Float, height:Float) : Bool;
	public function rectangle(x1:Float, y1:Float, x2:Float, y2:Float) : Bool;
	public function render() : Bool;
	public function rotate(degrees:Float) : Bool;
	public function roundRectangle(x1:Float, y1:Float, x2:Float, y2:Float, rx:Float, ry:Float) : Bool;
	public function scale(x:Float, y:Float) : Bool;
	public function setClipPath(clip_mask:String) : Bool;
	public function setClipRule(fill_rule:Int) : Bool;
	public function setClipUnits(clip_units:Int) : Bool;
	public function setFillAlpha(opacity:Float) : Bool;
	public function setFillColor(fill_pixel:ImagickPixel) : Bool;
	public function setFillOpacity(fillOpacity:Float) : Bool;
	public function setFillPatternURL(fill_url:String) : Bool;
	public function setFillRule(fill_rule:Int) : Bool;
	public function setFont(font_name:String) : Bool;
	public function setFontFamily(font_family:String) : Bool;
	public function setFontSize(pointsize:Float) : Bool;
	public function setFontStretch(fontStretch:Int) : Bool;
	public function setFontStyle(style:Int) : Bool;
	public function setFontWeight(font_weight:Int) : Bool;
	public function setGravity(gravity:Int) : Bool;
	public function setStrokeAlpha(opacity:Float) : Bool;
	public function setStrokeAntialias(stroke_antialias:Bool) : Bool;
	public function setStrokeColor(stroke_pixel:ImagickPixel) : Bool;
	public function setStrokeDashArray(dashArray:NativeArray) : Bool;
	public function setStrokeDashOffset(dash_offset:Float) : Bool;
	public function setStrokeLineCap(linecap:Int) : Bool;
	public function setStrokeLineJoin(linejoin:Int) : Bool;
	public function setStrokeMiterLimit(miterlimit:Int) : Bool;
	public function setStrokeOpacity(stroke_opacity:Float) : Bool;
	public function setStrokePatternURL(stroke_url:String) : Bool;
	public function setStrokeWidth(stroke_width:Float) : Bool;
	public function setTextAlignment(alignment:Int) : Bool;
	public function setTextAntialias(antiAlias:Bool) : Bool;
	public function setTextDecoration(decoration:Int) : Bool;
	public function setTextEncoding(encoding:String) : Bool;
	public function setTextUnderColor(under_color:ImagickPixel) : Bool;
	public function setVectorGraphics(xml:String) : Bool;
	public function setViewbox(x1:Int, y1:Int, x2:Int, y2:Int) : Bool;
	public function skewX(degrees:Float) : Bool;
	public function skewY(degrees:Float) : Bool;
	public function translate(x:Float, y:Float) : Bool;
}